Tidy first? A personal exercise in empirical software design

Kent Beck이 계획하고 있는 소프트웨어 디자인 시리즈 중 첫번째 책. Larry Constantine과 Edward Yourdon의 책 “Structured design”에 영향을 받음.

Foreword

Preface

이 책의 주제

”Tidy First?” describes:

  • When to tidy messy code before changing what it computes
  • How to tidy messy code safely and efficiently
  • How to stop tidying messy code
  • Why tidying works

소프트웨어 설계의 양면성:

Software design is a powerful tool to ease pain in the world - if it is used well. Used badly, it becomes just another instrument of oppression, and a drag on the effectiveness of software development.

Empirical software design

Introduction

Part I. Tidyings

  • Guard clauses
  • Dead code
  • Normalize symmetries
  • New interface, old implementation
  • Reading order
  • Cohesion order
  • Move declaration and initialization together
  • Explaining variables
  • Explaining constants
  • Explicit parameters
  • Chunk statements
  • Extract helper
  • One pile
  • Explaining comments
  • Delete redundant comments

Part II. Managing

  • Separate tidying
  • Chaining
  • Batch Sizes
  • Rhythm
  • Getting Untangled
  • First, After, Later, Never

Part III. Theory

Chapter 22. Beneficially Relating Elements

Chapter 23. Structure and Behavior

Chapter 24. Economics: Time Value and Optionality

Chapter 25. A Dollar Today > A Dollar Tomorrow

Chapter 26. Options

Chapter 27. Options Versus Cash Flows

Chapter 28. Reversible Structure Changes

Chapter 29. Coupling

Chapter 30. Constantine’s Equivalence

Chapter 31. Coupling Versus Decoupling

Chapter 32. Cohesion

Chapter 33. Conclusion

Appendix. Annotated Reading List and References

2024 © ak